package com.escargear39.activity;

import java.util.HashMap;
import java.util.Set;

import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;

import com.escargear39.util.DatabaseHelper;

public class InformationActivity extends Activity {
    // データベースヘルパーの作成
    private DatabaseHelper dbHelper = new DatabaseHelper(this);

    // データベースの宣言
    public static SQLiteDatabase db;

    // 表示する個人のID
    private String id;

    // 表示する個人の情報マップ
    private HashMap<String, String> data;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // インテントの取得
        Intent intent = getIntent();
        Bundle bundle = intent.getExtras();

        Set<String> set = bundle.keySet();
        for (String entry : set) {
            if (entry.equals(getResources().getString(R.string.FRIENDS_ID))) {
                id = (String) bundle.get(entry);
            }
        }

        // 表示モードの場合
        setContentView(R.layout.information);

        // データベースをオープン
        db = dbHelper.getReadableDatabase();

        // 一覧情報を取得
        data = dbHelper.getPersonalInfo(db, id);

        // 描画
        drawDisplayMode();
    }

    /**
     * 閲覧用画面の描画を行う
     */
    private void drawDisplayMode() {

        // 氏名(かな)の描画設定
        createTextView(R.id.familyNameReading, R.string.FRIENDS_FAMILY_NAME_READING);
        createTextView(R.id.firstNameReading, R.string.FRIENDS_FIRST_NAME_READING);

        // 氏名の描画設定
        createTextView(R.id.familyName, R.string.FRIENDS_FAMILY_NAME);
        createTextView(R.id.firstName, R.string.FRIENDS_FIRST_NAME);

        // ニックネーム
        // 国籍
        // 誕生日
        // 住所
        // 電話番号
        // メールアドレス1
        // メールアドレス2
        // 組織
        // 出会った日付
        createTextView(R.id.met_date, R.string.FRIENDS_MET_DATE);
        // 出会った場所
        createTextView(R.id.met_location, R.string.FRIENDS_MET_LOCATION);
    }

    /**
     * 指定したカラム名のデータをセットしたTextViewを生成する
     * @param columnName
     * @return カラム名のデータがセットされたTextView
     */
    private void createTextView(int viewId, int columnName) {
        TextView textView = (TextView) findViewById(viewId);
        textView.setText(data.get(getResources().getString(columnName)));
    }

    /**
     * データベースヘルパーをクローズする
     */
    @Override
    public void onDestroy() {
        super.onDestroy();
        dbHelper.close();
    }
}
